unit Relatorios;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls, ImgList, QuickRpt, QRCtrls,
  DB, DBTables, ActnList;

type
  TFormRelatorios = class(TForm)
    Bevel2: TBevel;
    ListView: TListView;
    ImageList1: TImageList;
    ActTotal: TActionList;
    ActionRelClientes: TAction;
    ActionSair: TAction;
    ActionRelProdutos: TAction;
    ActionRelPedidos: TAction;
    procedure ActionRelClientesExecute(Sender: TObject);
    procedure ListViewClick(Sender: TObject);
    procedure ActionSairExecute(Sender: TObject);
    procedure ActionRelProdutosExecute(Sender: TObject);
    procedure ActionRelPedidosExecute(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
    procedure ImprimeRelClientes;
    procedure ImprimeRelPedidos;
    procedure ImprimeRelProdutos;
  public
    { Public declarations }
  end;

var
  FormRelatorios: TFormRelatorios;

implementation

uses RelProdutos, RelPedidos, QRelClientes, RelClientes, QRelProdutos;

{$R *.dfm}

procedure TFormRelatorios.ActionRelClientesExecute(Sender: TObject);
begin
  ImprimeRelClientes;
end;

procedure TFormRelatorios.ImprimeRelClientes;
begin
if assigned(FormQRelClientes) then
     FormRelClientes := nil;
  FormRelClientes := TFormRelClientes.Create(Self);
  FormRelClientes.ShowModal;
end;

procedure TFormRelatorios.ImprimeRelProdutos;
begin
if assigned(FormRelProdutos) then
     FormRelProdutos := nil;
  FormRelProdutos := TFormRelProdutos.Create(Self);
  FormRelProdutos.ShowModal;

end;

procedure TFormRelatorios.ListViewClick(Sender: TObject);
var List: TListView;
begin
if TListView(Sender).Selected <> nil then
  begin
        List := TlistView(Sender);
        ActTotal.Actions[List.Selected.StateIndex].Execute;
  end;
  
end;

procedure TFormRelatorios.ActionSairExecute(Sender: TObject);
begin
self.Close;
end;

procedure TFormRelatorios.ActionRelProdutosExecute(Sender: TObject);
begin
ImprimeRelProdutos;
end;

procedure TFormRelatorios.ImprimeRelPedidos;
begin
//if assigned(FormRelPedidos) then
//     FormRelPedidos := nil;
//  FormRelPedidos := TFormRelPedidos.Create(Self);


//   with FormRelPedidos do
//   begin

//    FormRelPedidos.QueryClientes.Open;
//    FormRelPedidos.QuickRep1.PreviewModal;
//    FormRelPedidos.QueryClientes.Close;

//   end;
if assigned(FormRelPedidos) then
     FormRelPedidos := nil;
  FormRelPedidos := TFormRelPedidos.Create(Self);
  FormRelPedidos.ShowModal;

end;

procedure TFormRelatorios.ActionRelPedidosExecute(Sender: TObject);
begin
  ImprimeRelPedidos;
end;

procedure TFormRelatorios.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_F1 then
     ImprimeRelClientes;

  if Key = VK_F2 then
     ImprimeRelProdutos;

  if Key = VK_F3 then
     ImprimeRelPedidos;


  if key = VK_Escape then
  begin
     self.close;
 

  end;
end;

end.
